﻿// Infrastructure/Configuration/IConfigurationProvider.cs

namespace DatabaseManager.Infrastructure.Configuration
{
    /// <summary>
    /// 配置提供器接口，定义获取应用程序配置的标准方法
    /// 封装配置读取逻辑，提供统一的配置访问入口
    /// </summary>
    public interface IConfigurationProvider
    {
        /// <summary>
        /// 获取系统数据库的连接字符串
        /// 系统数据库通常指应用程序自身运行所依赖的核心数据库
        /// </summary>
        /// <returns>系统数据库连接字符串</returns>
        string GetSystemConnectionString();

        /// <summary>
        /// 根据键获取应用程序配置项的值
        /// 适用于获取各种自定义应用配置（如API地址、超时设置等）
        /// </summary>
        /// <param name="key">配置项的键名</param>
        /// <returns>配置项的值，如果键不存在则可能返回null</returns>
        string GetAppSetting(string key);
    }
}
